ZigBee is a low-cost, low-power, wireless mesh network standard targeted at the wide development of long battery life devices in wireless control and monitoring applications. ZigBee devices have low latency, which further reduces average current. ZigBee chips are typically integrated with radios and with microcontrollers that have some amount of memory, currently typically between 60-256 KB of flash memory. ZigBee operates in the industrial, scientific, and medical (ISM) radio bands. The ZigBee network layer natively supports generic mesh networking. Every network must have one coordinator device, tasked with its creation, the control of its parameters, and basic maintenance.
In a wireless mesh network, such as but not limited to a ZigBee wireless network, a message (or packet) is routed from one node to another node using intermediary nodes. This is normally done when the two end nodes are not in radio range of one another, but all of the intermediary nodes and the end nodes in the chain are in radio range of the previous and the next node in the chain. Each time the packet is forwarded to the next node in the chain, this is a hop. In theory, using meshing, any node may talk to any other node in the ZigBee network, but often all nodes will talk to just one node and that one node will talk back to them. In such a configuration, the one node through which all traffic flows is the concentrator, and ZigBee has special allowances for this type of configuration. In this configuration, communication may be made to be more efficient through a mechanism called source routing. Essentially, all the non-concentrator nodes just need to know how to route a packet back to the concentrator. (In actuality, each node only knows the next node in the route to get back to the concentrator, and that next node knows its next node, and so on). The concentrator, however, needs to know the route to every single device on the network, and it needs to know the entire route. This puts most of the onus on the concentrator, which usually needs to be more intelligent and have more resources (memory, processing, communication, etc.) as a result.
The way the routes are formed in this configuration is that each node keeps track of its neighbors (devices within radio range) using its neighbor table and by listening to special types of messages called Link Status messages. These messages are not re-transmitted, so if a node hears one, it knows that it is in radio range of the device that sent the Link Status message. Periodically an MTORR (Many-to-One Route Request) packet or message is broadcast by the concentrator throughout the network. Devices build up their route back to the concentrator by using their neighbor tables and the propagation of the MTORR packet or message (routing cost back to the concentrator gets written to it by devices as it is re-broadcasted). Thus, Device A needs to be in Device B's neighbor table in order for Device A to route directly to Device B (and vice-versa).